///**
// * MongoDtoFactory.java
// */
//package com.mht2017.common.mongo.dto;
//
//import java.util.Arrays;
//import java.util.List;
//
//import com.mongodb.DBCursor;
//
//
//public interface MongoDtoFactory<T> {
//
//	@SuppressWarnings("rawtypes")
//	static final List<? extends MongoDtoFactory> FACTORIES = Arrays.asList(new SearchConfigFactory(), new ApplicationConfigFactory(), new DataSourceFactory());
//
//	boolean isSupport(Class<?> dtoClass);
//
//	T createOne(DBCursor dbCursor);
//
//	List<T> createMulti(DBCursor dbCursor);
//
//	public static final class Instance {
//
//		@SuppressWarnings("unchecked")
//		public static final <R> MongoDtoFactory<R> getFactory(Class<R> dtoClass) {
//			for (MongoDtoFactory<?> mongoDtoFactory : FACTORIES) {
//				if (mongoDtoFactory.isSupport(dtoClass)) {
//					return (MongoDtoFactory<R>) mongoDtoFactory;
//				}
//			}
//			return null;
//		}
//	}
//
//}
